package com.cx.common;


public class ApiReturn {
    //成功返回200  失败返回0
    private static final String SUCCESS_STATE = "200";
    private static final String ERROR_STATE = "0";

    private String state;
    private String msg;
    private Object data;

    //无参构造函数
    public ApiReturn() {
    }

    //有参构造函数
    public ApiReturn(String state, String msg) {
        this.state = state;
        this.msg = msg;
    }
    //（)是输入的
    public ApiReturn(String state, String msg, Object data) {
        this.state = state;
        this.msg = msg;
        this.data = data;
    }
    //static修饰方法就 表示
    // 这个方法是在你项目启动的时候就已经加载这个方法了
    // 并且 由static修饰的方法 只加载一次
    // 所以我们可以直接通过 类名.方法名来访问这个方法
    //按住ctrl+鼠标左击 可以进到这个方法所对应的地方，
    // 再继续，就可以找到对应的构造函数
    //return是返回给前端的
    public static ApiReturn success(String msg){
        return new ApiReturn(SUCCESS_STATE,msg);
    }

    public static ApiReturn error(String msg){
        return new ApiReturn(ERROR_STATE,msg);
    }

    //成功返回：200，msg,data
    public static ApiReturn success(String msg,Object obj){
        return new ApiReturn(SUCCESS_STATE,msg,obj);
    }

    //错误返回：0，msg,data
    public static ApiReturn error(String msg,Object obj){
        return new ApiReturn(ERROR_STATE,msg,obj);
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}
